#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
//char* s_strncpy(char* s1, const char* s2, int a)
//{
//	char* s3 = s1;
//	assert(s1 && s2);
//	while (a)
//	{
//		*s1++ = *s2++;
//		a--;
//	}
//	return s3;
//	
//}
//int main()
//{
//	int num = 5;
//	char arr1[50] = " ";
//	char arr2[50] = "abcdefg";
//	s_strncpy(arr1, arr2, num);
//	printf("%s", s_strncpy(arr1, arr2, num));
//	return 0;
//}
//char* s_strncat(char* s1, const char* s2, int a)
//{
//	char* s3 = s1;
//	assert(s1 && s2);
//	while(*s1 != '\0')
//	{
//		s1++;
//	}
//	while (a)
//	{
//		*s1 = *s2;
//		s1++;
//		s2++;
//		a--;
//	}
//	return s3;
//
//}
//int main()
//{
//	int num = 5;
//	char arr1[50] = "zkf";
//	char arr2[50] = "abcdefg";
//	printf("%s",s_strncat(arr1, arr2, num));
//	return 0;
//}
void* s_memcpy(void* s1, const void* s2, size_t a)
{
	void* s3 =  s1;
	assert(s1 && s2);
	while (a)
	{
		*(char*)s1 = *(char*)s2;
		((char*)s1)++;
		((char*)s2)++;
		a--;
	}
	return s3;

}
int main()
{
	size_t num = 20;
	int arr1[10]= { 0 };
	int arr2[50] = { 1,3,5,6,7,8 };
	s_memcpy(arr1, arr2, num);
	for (int i =0;  i < 10; i++)
	{
		printf("%d ", arr1[i]);
	}
	return 0;
}
